package EvaTCPL;

public class EvaTCPLbexpression
{
  EvaTCPLbexpression bsons[] = null;
  EvaTCPLaexpression asons[] = null;

  public EvaTCPLbexpression()
    {
    }

  public EvaTCPLbexpression(Object o)
    {
    }

  public EvaTCPLbexpression(EvaTCPLaexpression ason1)
    {
      asons = new EvaTCPLaexpression[1];
      asons[0] = ason1;
    }

  public EvaTCPLbexpression(EvaTCPLbexpression bson1)
    {
      bsons = new EvaTCPLbexpression[1];
      bsons[0] = bson1;
    }

  public EvaTCPLbexpression(EvaTCPLaexpression ason1, EvaTCPLaexpression ason2)
    {
      asons = new EvaTCPLaexpression[2];
      asons[0] = ason1;
      asons[1] = ason2;
    }

  public EvaTCPLbexpression(EvaTCPLbexpression bson1, EvaTCPLbexpression bson2)
    {
      bsons = new EvaTCPLbexpression[2];
      bsons[0] = bson1;
      bsons[1] = bson2;
    }

  /** Evaluate this boolean expression. */
  public boolean evaluate()
    {
      return false;
    }

  /** Convert expression to a string. */
  public String toString()
    {
      return "";
    }

  /** Initialize the expression. This will call initilize() on each of 
      the sons and then initialize_inner()
  */
  public void initialize(EvaTCPLProblem theproblem)
    {
      if (asons!=null) {
	for (int i=0;i<asons.length;i++) {
	  asons[i].initialize(theproblem);
	}
      }
      if (bsons!=null) {
	for (int i=0;i<bsons.length;i++) {
	  bsons[i].initialize(theproblem);
	}
      }
      initialize_inner(theproblem);
    }
  
  public void initialize_inner(EvaTCPLProblem theproblem)
    {
      
    }
  
}
